#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <unordered_map>
#include <algorithm>
#define pii pair<int, int>
using namespace std;

// 已知
int n;
char s1[111][111], s2[111][111], s3[111][111], s4[111][111], t[111][111];
// 未知
int cnt[4];
int mn;

void zhuan(char (&s0)[111][111], char (&s1)[111][111], int x)
{
    // 旋转90度的函数
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            s1[i][j] = s0[n - 1 - j][i]; // 旋转90度
            cnt[x] += (s1[i][j] != t[i][j]); //  统计几个地方不同
        }
    }
}
void input()
{
    cin >> n;
    for (int i = 0; i < n; ++i)
    {
        cin >> s1[i];
    }
    for (int i = 0; i < n; ++i)
    {
        cin >> t[i];
        for (int j = 0; j < n; ++j)
        {
            cnt[0] += (s1[i][j] != t[i][j]);
        }
    }
    zhuan(s1, s2, 1);
    zhuan(s2, s3, 2);
    zhuan(s3, s4, 3);
}

int main()
{
    input();
    mn = cnt[0] + 0;
    for (int i = 0; i < 4; ++i)
    {
        mn = min(mn, cnt[i] + i); // 旋转几次+有几个不同
    }
    cout << mn;
    return 0;
}